#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
// bool check(vector<int>& nums){|
//     for(int i=1;i<nums.size();i++){
//         if(nums[i]!=nums[0])return false;
//     }
//     return true;
// }

void solve(){
    int n;
    cin>>n;
    vector<ll> nums(2*n+5);
    // vector<int>bit[35];
    ll cnt=0;
    for(int i=1;i<=n;i++){
        cin>>nums[i];
        nums[i+n]=nums[i];
        ll temp=nums[i];
        cnt|=temp;
        // int tempcnt=0;
        // while(temp>0){
        //     if(temp&1){
        //         bit[tempcnt].push_back(i);
        //         bit[tempcnt].push_back(i+n);
        //     }
        //     temp>>=1;
        //     tempcnt++;
        // }
    }
    // for(int i=0;i<32;i++)sort(bit[i].begin(),bit[i].end());
    // int minn=0;
    // for(int i=1;i<=n;i++){
    //     int temp=nums[i];
    //     for(int j=0;j<32;j++){
    //         if((1<<j)&cnt){
    //             if((temp&(1<<j))==0){
    //                 auto it=lower_bound(bit[j].begin(),bit[j].end(),i);
    //                 minn=max(minn,*it-i);
    //             }
    //         }
    //     }
    // }
    int res=1;
    while(1){
        int flag=1;
        for(int i=1;i<=n;i++){
            if(nums[i]!=cnt){
                flag=0;
                break;
            }
        }
        if(flag)break;
        for(int i=1;i<=n;i++){
            nums[i]|=nums[i+res];
        }
        for(int i=n+1;i<=2*n;i++){
            nums[i]=nums[i-n];
        }
        res++;
    }
    cout<<res-1<<endl;
}

int main(){
    ios::sync_with_stdio(0);
    cin.tie(0),cout.tie(0);
    int _=1;
    cin>>_;
    while(_--){
        solve();
    }
    return 0;
}